package com.niiwoo.activity.event.dto.request;

import com.niiwoo.activity.event.enums.DeadlineUnitEnum;
import com.niiwoo.activity.event.enums.ExchangeProjectEventEnum;
import com.niiwoo.activity.event.enums.ProjectFromSourceEventEnum;
import com.niiwoo.activity.event.enums.ProjectStatusEventEnum;
import com.niiwoo.activity.event.enums.ProjectSubStatusEventEnum;
import com.niiwoo.activity.event.enums.ProjectTypeEnum;
import com.niiwoo.activity.event.enums.RepaymentTypeEnum;
import com.niiwoo.activity.event.enums.YesOrNoEnum;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description 成标事件
 * 用户编码，用户年龄，户籍地，项目编码，发标金额，发标时间，发标地点(省、市、区、详情地址)，标的类型，标的期限，还款方式，标的费用（利息，平台管理费，担保费），
 * 标的来源，是否借新还旧，是否使用红包，红包类型，红包对应的活动，预计红包金额，授信额度，第N次借款,第N次满标,
 * (还款计划，回款计划)，满标时间，发送时间，标的状态，标的子状态
 * @Author zq
 * @Date 2018/3/21
 */
@Getter
@Setter
public class FullBorrowEventReqDTO extends BaseEventReqDTO implements Serializable {

    //用户年龄
    private Integer age;
    //户籍地
    private String address;
    //项目编码
    private Long projectId;
    //发标金额
    private BigDecimal amount;
    //发标时间
    private Date applyDate;
    //发标地点 省
    private String province;
    //发标地点 市
    private String city;
    //发标地点 区
    private String area;
    //发标地点 详情地址
    private String applyAddress;
    //标的类型
    private ProjectTypeEnum projectTypeEnum;
    //标的期限
    private Integer deadline;
    //标的期限单位
    private DeadlineUnitEnum deadlineUnitEnum;
    //还款方式
    private RepaymentTypeEnum repaymentTypeEnum;
    //标的费用（利息平台管理费担保费）
    private BigDecimal chargesAmount;
    //是否使用红包
    private YesOrNoEnum prizeYesOrNoEnum;
    //红包id
    private Long prizeId;
    //授信额度
    private BigDecimal creditAmount;
    //第N次借款
    private Integer borrowNum;
    //第N次满标
    private Integer fullSuccessNum;
    //投资回款详情
    private List<InvestorBackPaymentDetailDTO> investorBackPaymentDetails;
    //借款回款计划
    private List<ProjectRepaymentDetailDTO> projectRepaymentDetails;
    //满标时间
    private Date fullSuccessDate;
    //标的状态
    private ProjectStatusEventEnum projectStatusEventEnum;
    //标的子状态
    private ProjectSubStatusEventEnum projectSubStatusEventEnum;
    //借新还旧
    private ExchangeProjectEventEnum exchangeProjectEventEnum;
    //标的来源
    private ProjectFromSourceEventEnum fromSourceEventEnum;
}
